{{tag>BROUILLON Java "Serveur Web" Servlet}}

====== Jetty ======

Jetty est un serveur HTTP et Servlet open source écrit 100% en Java.
Il est conçu pour être léger, performant et flexible,
ce qui en fait une plate-forme idéale pour servir les requêtes HTTP dynamiques de toute application Java.

===== Installation =====

==== Pré-requis ====

Jetty nécessite l'environnement Java, [[:tutoriel:comment_installer_un_paquet|installez]] donc les paquets **[[apt://sun-java6-jdk,sun-java6-jre]]**.

==== Installation automatique ====

Avec le paquet **jetty** des dépôts Ubuntu, vous obtiendrez au lancement de Jetty une erreur de la forme :

  Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory

<note important>
Il semblerait y avoir un problème avec la version 5 de Jetty (version disponible depuis les dépôts).
Il est préférable d'installer Jetty manuellement depuis ses sources plus récentes en attendant qu'elles soient disponible dans les dépôts Ubuntu.
Voir la section [[#installation_manuelle|Installation manuelle]].
</note>

==== Installation manuelle ====

Télécharger la dernière version stable en date (//6-1-19//) depuis votre répertoire personnel :

  cd ~
  wget http://dist.codehaus.org/jetty/jetty-6.1.19/jetty-6.1.19.zip

Décompressez les sources :

  unzip jetty-6.1.19.zip

Jetty est dès lors opérationnel sur votre machine.

=== Finir l'installation proprement ===

Afin de respecter la philosophie GNU/Linux sur l'installation des logiciels (au niveau arborescence), vous ne devez pas laisser un simple dossier de sources dans votre dossier personnel.

Le principe est de déplacer ce dossier dans ''/opt/''. D'autres parts, ceci rendra le logiciel installé pour tous les utilisateurs du système et non seulement pour vous.

== Déplacement vers /opt/jetty ==

  sudo mv ~/jetty-6.1.19 /opt/jetty

== Utilisateur et droits ==

Le propriétaire des sources est vous-même, il est préférable de créer un utilisateur dédié à Jetty, pour cela :

  sudo addgroup jetty
  sudo adduser jetty --no-create-home --ingroup jetty

Un mot de passe sera demandé (considérons "''password''" par exemple).

Appliquer les changements à Jetty :

  sudo chown -R jetty:jetty /opt/jetty/*
  sudo chmod -R 755 /opt/jetty/*

=== Automatiser le lancement de Jetty ===

Pour cela, nous allons utilisez le script de lancement ''jetty.sh'' des sources de Jetty :

  sudo ln -s /opt/jetty/bin/jetty.sh /etc/init.d/jetty
  sudo update-rc.d jetty defaults

Jetty sera désormais lancé à chaque démarrage de la machine.

===== Utilisation =====

==== Démarrage / Arrêt ====

Depuis les sources, Jetty peut être lancé avec la commande :

  java -jar start.jar etc/jetty.xml

''CTRL+C'' dans votre terminal arrêtera Jetty.

Toutefois, près avoir [[#finir_l_installation_proprement|installé proprement]] Jetty et [[#automatiser_le _lancement_de_jetty|automatisé son lancement]], Jetty sera comme beaucoup de services, démarré par défaut et pourra être respectivement démarré, arrêté, redémarré, avec les commandes :

  sudo /etc/init.d/jetty start
  sudo /etc/init.d/jetty stop
  sudo /etc/init.d/jetty restart

==== Déployer une application web ====

Pour déployer une application web, il suffit simplement de copier l'archive ''war'' de l'application dans le dossier ''webapps'' de Jetty (soit ''/opt/jetty/webapps/''). Elle sera déployée automatiquement et disponible à l'url [[http://localhost:8080/monapp]] (dans le cas où nous aurions déployé ''monapp.war'').

===== Voir aussi =====

  * **(en)** [[http://www.mortbay.org/jetty/|Site officiel de Jetty]]

----

//Contributeurs : [[:utilisateurs/v0n|v0n]].//
